1. Field of the Invention
The present invention relates to image processing and, more particularly, to techniques for preparing digital images for printing.
2. Related Art
Various kinds of printers are well-known in the computing and digital image arts. Such printers include, for example, dot-matrix printers, laser printers, inkjet printers, and thermal printers. Digital printers typically produce printed images by printing dots arranged in a two-dimensional grid. In general, any particular printer is capable of printing dots having a particular range of densities. Variation in printed density level may be achieved by means of two general methods. In the first method, the coverage of pigment/dye is approximately constant over the whole area of a pixel, and the amount of pigment (the pigment “density”) of approximately constant coverage varies according to the amount of input energy. This method is hereinafter referred to as “variable density” printing. In the second method, the size of dots within the area of one pixel varies according to input energy, these dots containing only essentially a single density of pigment (de facto, its maximum density). The dots are so small that they cannot be individually distinguished by the naked eye, and so the overall density level is perceived as an average of the almost total absorption of light in the proportion of the viewed area occupied by dots, and the almost complete (diffuse) reflection of light in unprinted areas. This technique is known hereinafter as “variable dot” printing.
Both variable dot and variable density printing are capable of generating multiple gray levels by varying the energy provided to the printer. The number of gray levels that can be produced using either method, however, is limited by the manner in which each method provides energy to the printer.
A technique referred to as “dithering” can be used to increase the printer's effective number of gray levels by introducing noise into the image using repeating patterns referred to as “dithering patterns,” “halftones,” or “screens.”
The size of the repeating pattern defines a superpixel that is larger than the native pixel of the printer. The number of gray levels can be increased by varying the pattern in the superpixel, with the size of the repeating pattern defining the number of gray levels that can be added. Although the number of gray levels can therefore be increased by increasing the size of the superpixel, if the superpixel is too large the repeating pattern may itself become visible, thereby producing undesirable visual artifacts. Therefore, when selecting a size for the superpixel, it is necessary to perform a tradeoff between the number of gray levels that can be obtained and the visibility of the repeating pattern.
Referring to FIG. 1A, a functional block diagram is shown of a prior art printing system 100a. The system 100a includes a print engine 102. The print engine 102 receives input energy 104 and produces a corresponding density 106 as output, such as by printing a single dot. Note that the input energy 104 may represent a plurality of input energies and that the output density 106 may represent a plurality of corresponding output densities. Note further that the techniques described with respect to FIG. 1A and elsewhere may be applied either to a single color or to a plurality of colors.
Although some printers may be capable of printing densities in response to a continuous range of input energies, digital images are discretized. Referring to FIG. 1B, a functional block diagram is shown of a prior art system 100b for printing a digital image 110. The system 100b includes a digital printer 108 which includes the print engine 102. The printer 108 includes a digit-to-energy converter 112, which converts the input digital image 110 into the input energy 104. The print engine 102 produces the output density 106 in response to the input energy 104, as described above.
The print engine 102 may fail to implement an optimal transfer function for a variety of reasons, such as imperfections introduced during the manufacturing process. Referring to FIG. 1C, a functional block diagram is shown of a prior art system 100c in which the printer 108 additionally includes a calibration function 114 to compensate for such imperfections. The calibration function 114 receives the digital image 110 as input and produces a calibrated digital image 116 as output. The calibrated digital image 116, rather than the original digital image 110, is then provided to the digit-to-energy converter 112, and the output densities 106 are then produced in the manner described above. Note that the calibration function 114 (FIG. 1C) may be combined with the digit-to-energy converter 112 (FIG. 1B), and that the resulting combination may be implemented within the printer 108.
The behavior of the printer 108 implicitly defines a transfer function relating input digits (e.g., in the digital image 110) to output densities 106. It is desirable that such a transfer function be monotonic across the full range of input digits. For a variety of reasons, however, the observed transfer function in actual printers may contain non-monotonicities. In other words, increasing digit values may not necessarily cause increasing output densities. As a result, the printed image may include visual artifacts, such as color discontinuities, that detract from the quality of the image.
The printer 108 may also exhibit other undesirable behavior leading to sub-optimal output. For example, it is desirable that the printer 108 always produce the same output density for a particular input digit. For certain ranges of input digits, however, the printer 108 may not reliably produce the same output density each time a particular digit is provided as input. For example, consider the simple case of a bi-level printer in which a digit value of 1 is intended to cause the printer 108 to print a single dot. When provided with an input digit value of 1 multiple times, the printer 108 may in fact print a dot some of the time and not print a dot at other times. Such a phenomena may manifest itself as visible “grain” in the printed image, thereby detracting from overall image quality.
What is needed, therefore, are techniques for improving the perceived quality of color characteristics of printed digital images.